<?php
/**
 * Created by PhpStorm.
 * User: sunyang
 * Date: 2017/1/20
 * Time: 17:17
 */
class QrcodeLib{
    function __construct()
    {
        $this->qrcodebase();
    }
    public function qrcodebase(){
        include_once(ROOTPATH . '/lib/include/phpqrcode/phpqrcode.php');
    }
    function qrcode($qr_url,$image_url='http://image.dianshengsheng.com/system/qrcode.png',$arrData=array('errorCorrectionLevel'=>'H', 'matrixPointSize'=>16)){

        $value = $qr_url; //二维码内容
        $errorCorrectionLevel = $arrData['errorCorrectionLevel'];//容错级别
        $matrixPointSize = $arrData['matrixPointSize'];//生成图片大小
        $QR = APP_PUBLIC . '/qrcode/qrcode.png';//已经生成的原始二维码图
        //生成二维码图片
        QRcode::png($value, $QR, $errorCorrectionLevel, $matrixPointSize, 2);
        $logo = $image_url;//准备好的logo图片
        if ($logo !== FALSE) {
            $QR = imagecreatefromstring(file_get_contents($QR));
            $logo = imagecreatefromstring(file_get_contents($logo));
            $QR_width = imagesx($QR);//二维码图片宽度
            $QR_height = imagesy($QR);//二维码图片高度
            $logo_width = imagesx($logo);//logo图片宽度
            $logo_height = imagesy($logo);//logo图片高度
            $logo_qr_width = $QR_width / 5;
            $scale = $logo_width/$logo_qr_width;
            $logo_qr_height = $logo_height/$scale;
            $from_width = ($QR_width - $logo_qr_width) / 2;
            //重新组合图片并调整大小
            imagecopyresampled($QR, $logo, $from_width, $from_width, 0, 0, $logo_qr_width,
                $logo_qr_height, $logo_width, $logo_height);
        }
        //输出图片
        $image_name = rand(100,999).rand(10,99).time().'.png';
        $path = 'public/qrcode';
        $url = DOMAIN . '/'.$path.'/'.$image_name;

        //写入本地
        $image_file_name = APP_PUBLIC . '/qrcode/'.$image_name;
        $bool = imagepng($QR, $image_file_name);
        if($bool){
            return array(
                'url'=>$url,
                'path'=>$path,
                'name'=>$image_name
            );
        }else{
            return false;
        }
        //写入本地结束

        /*$ftp_url = 'home/qrcode/'.$image_name;
        $arr = array(
            'local_url'=>$local_url,
            'ftp_url'=>$ftp_url
        );
        error_reporting(0);
        $bool = ftp_move_file($arr);
        return IMG_URL.$ftp_url;*/
    }
}
